package cc.linker.steplink.crm.dao;

import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;
import java.util.Set;

public interface CrmHelperDao {
    List<Map<String, Object>> list(Map<String, Object> record);

    String getLabelNamesByIds(@Param(value="labelIds")String labelIds);

    Map<String,Object> get(@Param(value="id") String id);

    void del(Map<String, Object> params);

    void add(Map<String, Object> params);

    void edit(Map<String, Object> params);

    String getTokenByOrgId(@Param(value="orgId") String orgId);

    void addLabels(@Param("goals") Set<String> goals, @Param("customerId") String customerId);

    String getCustomerIdByOpenIdAndToken(@Param("openId") String openId,@Param("token") String token);

    void insertCustomer(Map<String, Object> map);

    void updateCustomer(Map<String, Object> map);

    void insertCustomerWx(Map params);

    void insertCustomerInfo(Map<String, Object> temp);

    void insertCustomerAlipay(Map params);

    String getCustomerIdAlipay(Map<String, Object> param);

    Map<String,Object> getAlipayParam(Map<String, Object> param);

    String getCustomerIdApp(Map<String, Object> param);

    Integer getCustomerIdAppCount(Map<String, Object> param);

    void insertCustomerApp(Map<String, Object> param);

    void updateCustomerApp(Map<String, Object> param);

    String getOrgIdByAppId(String appId);

    String getCustomerIdByOpenIdAndOrgId(@Param("openId") String openId,@Param("orgId") String orgId);

    List<Map> getVipListByCustomerId(@Param("customerId") String customerId);

}
